package com.sgsg.memomodule;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;


/**
 * 备忘录模式
 * 适用于功能比较复杂，但需要维护或记录属性历史的类，
 * 或者需要保存的属性只是众多属性中的一小部分
 *
 */

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        PlayRole role = new PlayRole();
        role.getInitState();
        role.stateDisplay();

        //保存进度
        RoleStateCareTaker stateAdmin = new RoleStateCareTaker();
        stateAdmin.setMemento(role.saveState());

        //大战boss，损失惨重
        role.fight();
        role.stateDisplay();

        //恢复之前的状态
        role.recoveryState(stateAdmin.getMemento());
        role.stateDisplay();

    }
}
